var mysql = require("mysql2");
var connection = {
    host: "127.0.0.1",
    user: "JobPlatform",
    password: "JobPlatform.114514",
    database: "JobPlatform",
    port: "3306",
};

// 用于保存数据连接实例
var db = null;

var pingInterval;

// 如果数据连接出错，则重新连接
function handleError(err) {
  console.log(err.stack || err);
  connect();
}

// 建立数据库连接
function connect() {
  if (db !== null) {
    db.destroy();
    db = null;
  }

  db = mysql.createConnection(connection);
  db.connect(function (err) {
    if (err) {
      console.log(
        "error when connecting to db,reConnecting after 2 seconds:",
        err
      );
      setTimeout(connect, 2000);
    }
  });
  db.on("error", handleError);

  // 每个小时ping一次数据库，保持数据库连接状态
  clearInterval(pingInterval);
  pingInterval = setInterval(() => {
    console.log("okk");
    db.ping((err) => {
      if (err) {
        console.log("ping error: " + JSON.stringify(err));
      }
      console.log(new Date().toLocaleTimeString());
    });
    // }, 60000);
  }, 3600000);
}

connect();
module.exports = db;
